home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 53 / 64er_Magazin_Sonderheft_53_19xx_Markt__Technik_de_Side_B.d64 / listing 4 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  84 lines

  1. 10 rem---------------------------------
  2. 20 rem zufallstonfolge
  3. 30 rem mit blues-schema
  4. 40 rem
  5. 50 rem ausnuetzung aller drei stimmen
  6. 60 rem zur klangverbesserung
  7. 70 rem
  8. 80 rem t. kraetzig           maerz 86
  9. 90 rem---------------------------------
  10. 100 dim fl(25) :rem array f. frequenzen
  11. 101 dim fh(25)
  12. 102 dim a(8,20):rem auswahlmengen
  13. 104 dim s(30)  :rem schema
  14. 110 s  =54272  :rem basisadresse
  15. 130 :
  16. 140 rem tonleiter-frequenzen berechnen
  17. 150 faus=110:h=2^(1/12)
  18. 160 for i=0 to 25
  19. 170 :  f=int(faus*17.0284+0.5)
  20. 172 :  fh(i)=int(f/256)
  21. 174 :  fl(i)=f-256*fh(i)
  22. 180 :  faus=faus*h
  23. 190 next i
  24. 200 :
  25. 210 rem parameter festlegen
  26. 220 pw=2048       :rem pulsweite
  27. 230 c =32         :rem kurvenform
  28. 240 a=0:d=10:su=0:r=9
  29. 250 for i=0 to 14 step 7
  30. 255 : poke s+i+2,pw and 255
  31. 260 : poke s+i+3,pw/256
  32. 265 : poke s+i+5,16*a+d
  33. 270 : poke s+i+6,16*su+r
  34. 275 next i
  35. 280 :
  36. 290 rem filter aus und lautstaerke max.
  37. 300 poke s+23,0:poke s+24,15
  38. 310 :
  39. 320 rem ausw.mengen und schema einlesen
  40. 325 read i:a(0,0)=i
  41. 330 for k=1 to i
  42. 335 :  read j:a(k,0)=j
  43. 340 :  for l=1 to j:read a(k,l):next l
  44. 350 next k
  45. 355 read i:s(0)=i
  46. 360 for k=1 to i
  47. 365 :  read s(k)
  48. 370 next k
  49. 375 :
  50. 380 rem zufallstonfolge
  51. 385 l=0:o=0
  52. 390 for i=1 to s(0)
  53. 395 :  j=s(i)
  54. 400 :  n=a(j,0)
  55. 405 :  for k=1 to 8
  56. 410 :     zz=a(j,int(rnd(1)*n+1))
  57. 412 :     poke s+l  ,fl(zz+o)
  58. 414 :     poke s+l+1,fh(zz+o)
  59. 416 :     poke s+l+4,c or 1
  60. 420 :     for p=1 to 40:next
  61. 425 :     poke s+l+4,c
  62. 430 :     for p=1 to 40:next
  63. 435 :     l=l+7:if l=21 then l=0
  64. 440 :  next k
  65. 445 next i
  66. 450 o=o+1:if o=4 then o=0
  67. 455 for p=1 to 1150:next
  68. 460 goto 390
  69. 500 rem--------------------------------
  70. 510 rem auswahlmengen und schema
  71. 520 rem--------------------------------
  72. 530 data  7
  73. 540 data  8,  0,4,7,10,12,16,19,22
  74. 550 data  8,  0,3,5,9, 12,15,17,21
  75. 560 data  7,  2,5,7,11,14,17,19
  76. 570 data  6,  0,0,4, 7, 7,10
  77. 580 data  4,  0,3,5,9
  78. 590 data  5,  2,5,7,7,11
  79. 610 data  2,  0,7
  80. 620 :
  81. 630 data 24,  7,1,2,1,3,2,1,3
  82. 640 data      4,4,5,4,6,5,4,6
  83. 650 data      7,1,2,1,3,2,1,3
  84.